#ifndef SDLBUTTON_H
#define SDLBUTTON_H

#include <SDL.h>
#include <SDL_ttf.h>
#include <string>
#include "SDLObject.h"
#include "SDLUtil.h"
#include "structs.h"


class SDLButton {
public:
	SDLButton();
	SDLButton(	ObjHandle handle, std::string btnText, SDL_Color btnTextColor, SDL_Color btnFrameColor,
				SDL_Color btnBGColor, SDL_Rect btnLocation, SDL_Event *btnEvent, SDL_Surface *btnParent, 
				TTF_Font *btnFont);
	SDLButton(	ObjHandle handle, SDL_Rect btnLocation, SDL_Rect btnActiveLoc, SDL_Rect btnPressedLoc, 
				SDL_Event *btnEvent, SDL_Surface *btnParent, SDLObject *pParent, const char *btnGraphicsFilename);
	~SDLButton();

	void inputHandler();
	void display();
	void render();
private:
	ObjHandle m_Handle;
	std::string m_btnText;
	SDL_Color m_btnTextColor, m_btnFrameColor, m_btnBGColor;
	SDL_Rect m_btnLocation;
	SDL_Surface *m_btnNormal, *m_btnActive;
	SDL_Surface *m_btnParent;
	SDL_Event *m_btnEvent;
	TTF_Font *m_btnFont;
	bool m_btnIsActive;
	SDLObject *m_pParent;
};

#endif

	


